This vignette will show you how to convert networks between graphNEL and Cytoscape.

Installation

if(!"RCy3" %in% installed.packages()){
    install.packages("BiocManager")
    BiocManager::install("RCy3")
}
library(RCy3)

Required Software

The whole point of RCy3 is to connect with Cytoscape. You will need to install and launch Cytoscape:

cytoscapePing()

From graphNEL to Cytoscape

The graph package is a popular network tool among R users. With RCy3, you can easily translate graphNEL networks to Cytoscape networks!

Create a simple GraphNEL object

g <- makeSimpleGraph()

Now pass it along to Cytoscape:

createNetworkFromGraph(g,"myGraph")

From Cytoscape to GraphNEL

Inversely, you can use createGraphFromNetwork() in RCy3 to retreive vertex (node) and edge data.frames to construct a GraphNEL object.

g2 <- createGraphFromNetwork("myGraph")

Compare the round-trip result for yourself…

g
g2
LS0tCnRpdGxlOiAiQ3l0b3NjYXBlIGFuZCBncmFwaE5FTCIKYXV0aG9yOiAiYnkgQWxleGFuZGVyIFBpY28iCnBhY2thZ2U6IFJDeTMKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2NfZmxvYXQ6IHRydWUKICAgIGNvZGVfZm9sZGluZzogIm5vbmUiCiMgIHBkZl9kb2N1bWVudDoKIyAgICB0b2M6IHRydWUgICAKdmlnbmV0dGU6ID4KICAlXFZpZ25ldHRlSW5kZXhFbnRyeXswMy4gQ3l0b3NjYXBlIGFuZCBncmFwaE5FTCB+NSBtaW59CiAgJVxWaWduZXR0ZUVuZ2luZXtrbml0cjo6cm1hcmtkb3dufQogICVcVmlnbmV0dGVFbmNvZGluZ3tVVEYtOH0KLS0tCmBgYHtyLCBlY2hvID0gRkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBldmFsPUZBTFNFCikKYGBgCgpUaGlzIHZpZ25ldHRlIHdpbGwgc2hvdyB5b3UgaG93IHRvIGNvbnZlcnQgbmV0d29ya3MgYmV0d2VlbiBncmFwaE5FTCBhbmQgQ3l0b3NjYXBlLgoKIyBJbnN0YWxsYXRpb24KYGBge3J9CmlmKCEiUkN5MyIgJWluJSBpbnN0YWxsZWQucGFja2FnZXMoKSl7CiAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCiAgICBCaW9jTWFuYWdlcjo6aW5zdGFsbCgiUkN5MyIpCn0KbGlicmFyeShSQ3kzKQpgYGAKCiMgUmVxdWlyZWQgU29mdHdhcmUKVGhlIHdob2xlIHBvaW50IG9mIFJDeTMgaXMgdG8gY29ubmVjdCB3aXRoIEN5dG9zY2FwZS4gWW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIGFuZCBsYXVuY2ggQ3l0b3NjYXBlOiAKCiogRG93bmxvYWQgdGhlIGxhdGVzdCBDeXRvc2NhcGUgZnJvbSBodHRwOi8vd3d3LmN5dG9zY2FwZS5vcmcvZG93bmxvYWQucGhwCiogQ29tcGxldGUgaW5zdGFsbGF0aW9uIHdpemFyZAoqIExhdW5jaCBDeXRvc2NhcGUgCgpgYGB7cn0KY3l0b3NjYXBlUGluZygpCmBgYAoKIyBGcm9tIGdyYXBoTkVMIHRvIEN5dG9zY2FwZQpUaGUgZ3JhcGggcGFja2FnZSBpcyBhIHBvcHVsYXIgbmV0d29yayB0b29sIGFtb25nIFIgdXNlcnMuIFdpdGggUkN5MywgeW91IGNhbiBlYXNpbHkgdHJhbnNsYXRlIGdyYXBoTkVMIG5ldHdvcmtzIHRvIEN5dG9zY2FwZSBuZXR3b3JrcyEKCkNyZWF0ZSBhIHNpbXBsZSBHcmFwaE5FTCBvYmplY3QKYGBge3J9CmcgPC0gbWFrZVNpbXBsZUdyYXBoKCkKYGBgCgpOb3cgcGFzcyBpdCBhbG9uZyB0byBDeXRvc2NhcGU6CgpgYGB7cn0KY3JlYXRlTmV0d29ya0Zyb21HcmFwaChnLCJteUdyYXBoIikKYGBgCiMgRnJvbSBDeXRvc2NhcGUgdG8gR3JhcGhORUwgCkludmVyc2VseSwgeW91IGNhbiB1c2UgY3JlYXRlR3JhcGhGcm9tTmV0d29yaygpIGluIFJDeTMgdG8gcmV0cmVpdmUgdmVydGV4IChub2RlKSBhbmQgZWRnZSBkYXRhLmZyYW1lcyB0byBjb25zdHJ1Y3QgYSBHcmFwaE5FTCBvYmplY3QuIAoKYGBge3J9CmcyIDwtIGNyZWF0ZUdyYXBoRnJvbU5ldHdvcmsoIm15R3JhcGgiKQpgYGAKCkNvbXBhcmUgdGhlIHJvdW5kLXRyaXAgcmVzdWx0IGZvciB5b3Vyc2VsZi4uLgpgYGB7cn0KZwpnMgpgYGAK